문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 코드소프트 망신 사건 (문단 편집) == 암호화 알고리즘 MaskCrypt의 문제점 == MaskCrypt는 ‘다국어 텍스트 문자열 암호화를 위한 대칭키 암호 알고리즘 보완 방법’으로 2008년 [[특허]]를 받았고 제작자의 발표에 따르면 암호화된 한글이 깨지지 않고 길이가 그대로 유지되기 때문에 DB에 자유롭게 저장할 수 있는 것이 장점이며, [[C]], [[Java]], [[JavaScript]]를 사용했다고 한다. Kesarr는 JavaScript 소스를 기반으로 암호화를 해석했다. 그가 분석한 이 암호화 알고리즘의 약점은 다음과 같다. * 평문과 암호문의 각 문자가 1:1로 대응하여 확산 성질(Diffusion)이 없다. * 공백문자, 구두점 등 특수문자가 그대로 남아 있기 때문에 문장 구조를 파악하기 쉬워 빈도 분석이 매우 간단하다. * 비밀키의 각 문자가 [[아스키 코드]]의 일반 문자로 한정되어 있어서 [[경우의 수]]가 많지 않다. * 비밀키의 각 문자가 암호문의 한 문자를 만들어내기 때문에 혼돈 성질(Confusion)이 없어 글자별로 테스트하기 쉽다. * 비밀키의 길이를 파악하기도 쉽다. 사실, 이 해설대로라면 MaskCrypt는 기껏해야 고전 암호 수준으로, 암호학과 해독 기법이 발전한 현대에는 절대 효과적인 암호 알고리즘이라고 볼 수 없다. 이것은 원리적으로 '''16세기'''에 만들어진(…) 비지넬 암호(Vigenere cipher)와 비슷한 것으로 보인다. 비지넬 암호는 단순 치환식 암호보다 한 단계 더 나아간 것으로, 모든 암호를 같은 키로 변환하는 단순 치환식 암호와는 달리 다소 긴 키를 사용하여 키의 길이만큼 반복해가며 암호를 만든다. 비지넬 암호는 '''1863년'''에 비교적 효율적인 카시스키 테스트라는 해독법이 나왔으며, 현대라면 PC를 사용해서 '''10초''' 이내에 깰 수 있다. 혼돈(confusion)과 확산(diffusion) 효과의 개념은 [[클로드 섀넌]]이 '''1949년'''에 제시한 이후 현대 암호 알고리즘의 기본 원리가 된 것으로, 이것이 없다는 것은 말하자면 '''4~500년 전 수준'''의 암호 알고리즘인 것이다. 게다가 공백과 구두점, 특수문자를 변환하지 않는다는 치명적인 문제점이 있기 때문에 빈도 분석이 쉬워서 더욱 간단히 깰 수 있다. 알고리즘을 직접 알아내야 하는 상황이니까 2시간이나 걸렸지, 알고리즘이 알려져 있는 것을 전제로 하는 '''실전 상황'''이라면 이 암호가 돌파당하는 데 걸리는 시간은 수 초 이내일 것이다. 암호화로서의 의미가 없는 수준이다. 현대에 쓰이는 암호 방식에서 일반적으로 [[소스 코드]]와 [[알고리즘]]이 공개되는 것은 흔히 있는 일[* 현대에 유명한 암호 알고리즘은 거의 대부분 알고리즘과 소스 코드가 공개되어 있다. 현대 암호학에서는 기본적으로 내부 구현의 공개를 전제조건으로 한다. 암호 알고리즘이 어떻게 구현되었고 어떤 구조로 동작하는지 공격자가 알고 있더라도 해독할 수 없어야 한다는 것이다.]이므로, 알고리즘이 알려졌다는 것은 현대 암호에서는 해독당한 것의 변명이 되지 못한다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기